softirqs. This fixes a bug where bailing into SCHEDULE_SOFTIRQ may not
actually return.
From: Ke Yu <ke.yu@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
cpufreq_dbs_timer_suspend();
sched_tick_suspend();
- /*
- * sched_tick_suspend may raise TIMER_SOFTIRQ by __stop_timer,
- * which will break the later assumption of no sofirq pending,
- * so add do_softirq
- */
- if ( softirq_pending(smp_processor_id()) )
- do_softirq();
+ /* sched_tick_suspend() can raise TIMER_SOFTIRQ. Process it now. */
+ process_pending_timers();
/*
* Interrupts must be disabled during bus mastering calculations and